<?php

declare(strict_types=1);

namespace app\admin\controller;

use think\Request;
use think\facade\View;
use think\facade\Db;

class Swiper
{
    /**
     * 显示资源列表
     *
     * @return \think\Response
     */
    public function index()
    {
        return View('index');
    }

    public function getSwipers()
    {
        $data = Db::name('swiper')->select();
        // dump($data);die;
        return json(['code' => 0, 'data' => $data]);
    }

    /**
     * 显示创建资源表单页.
     *
     * @return \think\Response
     */
    public function create()
    {
        return View::fetch('add');
    }

    /**
     * 保存新建的资源
     *
     * @param  \think\Request  $request
     * @return \think\Response
     */
    public function save(Request $request)
    {
        $data = $request->except(['fileselect']);
        $res = Db::name('swiper')->insert($data);
        if ($res) {
            return json(['status' => 'success', 'msg' => '上传成功']);
        } else {
            return json(['status' => 'fail', 'msg' => '上传失败']);
        }
    }

    /**
     * 显示指定的资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function read($id)
    {
        //
    }

    /**
     * 显示编辑资源表单页.
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function edit($id)
    {
        $swiper = Db::name('swiper')->where('id', $id)->find();
        // dump('$swiper',$swiper);die;
        return View::fetch('edit', ['swiper' => $swiper]);
    }

    /**
     * 保存更新的资源
     *
     * @param  \think\Request  $request
     * @param  int  $id
     * @return \think\Response
     */
    public function update(Request $request, $id)
    {
        $data = $request->except(['fileselect']);
        $res = Db::name('swiper')->where('id', $id)->update($data);
        if ($res) {
            return json(['status' => 'success', 'msg' => '编辑更新成功']);
        } else {
            return json(['status' => 'fail', 'msg' => '编辑更新失败']);
        }
        // dump($request->except(['fileselect']));
        // die;
    }

    /**
     * 删除指定资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function delete($id)
    {
        $res = Db::name('swiper')->where('id','=',$id)->delete();
        if ($res) {
            return json(['status' => 'success', 'msg' => '删除成功']);
        } else {
            return json(['status' => 'fail', 'msg' => '删除失败']);
        }
    }

    /**
     * 文件上传 本地存储
     */
    public function upload(Request $request)
    {
        // 获取表单上传文件 例如上传了001.jpg
        $file = $request->file('file');
        // 上传到本地服务器
        $savename = \think\facade\Filesystem::putFile('swiper', $file, 'md5');
        return json(['status' => 'success', 'img_url' => '/storage/' . $savename]);
    }

    /**
     * 资源路由,必须在路由中加入,否则无法访问
     */
    public function is_Show(Request $request)
    {
        $data = $request->param();
        $data['is_show'] = $data['is_show'] == 'true' ? 1 : 0;
        $res = Db::name('swiper')->where('id', $data['id'])->update(['is_show' => $data['is_show']]);
        if ($res) {
            return json(['status' => 'success', 'msg' => '数据更新成功']);
        } else {
            return json(['status' => 'fail', 'msg' => '数据更新失败']);
        }
    }
}
